package com.ihteima.service;

import com.ihteima.model.vo.UpdatePasswordReqVO;
import com.ihteima.model.vo.UpdateUserInfoReqVO;
import com.ihteima.pojo.Response;
import com.ihteima.pojo.User;

/**
 * ClassName: UserService
 * Package: com.ihteima.service
 * Description:
 *
 * @Auther gongkaiming
 * @Create 2025/10/26 17:46
 * @Version 1.0
 */
public interface UserService {

    /**
     * 查询用户
     * @param username
     * @return
     */
    User findByName(String username);

    /**
     * 注册
     * @param username
     * @param password
     * @return
     */
    Response<?> registry(String username, String password);

    /**
     * 登录
     * @param username
     * @param password
     * @return
     */
    Response<?> login(String username, String password);

    /**
     * 根据用户id查询用户信息
     * @param id
     * @return
     */
    User findById(Long id);

    /**
     * 更新用户
     * @param updateUserInfoReqVO
     * @return
     */
    Response<?> updateUserInfo(UpdateUserInfoReqVO updateUserInfoReqVO);


    /**
     * 密码更新
     * @param updatePasswordReqVO
     * @return
     */
    Response<?> updatePassword(UpdatePasswordReqVO updatePasswordReqVO);
}
